Modern microprocessors include typically microcode to implement complex and/or infrequently executed instructions of the microprocessor instruction set architecture. An advantage of implementing some instructions of the instruction set architecture in microcode is that it may reduce the complexity of other functional units of the microprocessor, such as the execution units. As the number and complexity of instructions grows in an instruction set architecture, so does the need for microcode, and particularly, for non-volatile memory storage in the microprocessor (such as read-only memory (ROM)) to store the microcode. However, the increased memory storage may undesirably consume a significant amount of real estate on the microprocessor. This problem may be exacerbated by the proliferation of cores in multi-core microprocessors each having memory storage for storing the microcode.